// 3. 具体元素：文本段落
/// <summary>
/// 文本段落类（访问者模式中的ConcreteElement）
/// 表示文档中的文本内容元素
/// </summary>
public class TextSegment : DocumentElement
{
  /// <summary>
  /// 文本内容
  /// </summary>
  public string Content { get; set; }
  
  /// <summary>
  /// 构造函数
  /// </summary>
  /// <param name="content">文本内容</param>
  public TextSegment(string content) => Content = content;

  /// <summary>
  /// 接受访问者的访问
  /// 实现双重分派：调用访问者的对应Visit方法并传入自身
  /// </summary>
  /// <param name="visitor">访问者对象</param>
  public override void Accept(IDocumentVisitor visitor)
  {
    visitor.Visit(this); // 关键：调用 visitor.Visit(this)
  }
}
